package org.gap.jseed.annotation;

import static java.lang.annotation.ElementType.METHOD;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.gap.registry.Registry;

/**
 * The {@code Factory} annotation defines that a given method returns a singelton
 * instance of the methods return type which is currently in the {@link Registry}.  
 * If no instance can be found, a null object is returned instead.
 * 
 * @author gpelcha
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({METHOD})
@Advice
public @interface Factory {

}
